package com.hunter.pojo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class MedalExample {
    protected String join;

    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MedalExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setJoin(String join) {
        this.join = join;
    }

    public String getJoin() {
        return join;
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andJoinWhere(String whereSql) {
            addCriterion(whereSql);
            return (Criteria) this;
        }

        public Criteria andIdIsNull() {
            addCriterion("cv_medal.id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("cv_medal.id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("cv_medal.id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("cv_medal.id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("cv_medal.id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("cv_medal.id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("cv_medal.id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("cv_medal.id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(String sql) {
            addCriterion("cv_medal.id in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(String sql) {
            addCriterion("cv_medal.id not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNull() {
            addCriterion("cv_medal.create_time is null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIsNotNull() {
            addCriterion("cv_medal.create_time is not null");
            return (Criteria) this;
        }

        public Criteria andCreateTimeEqualTo(Date value) {
            addCriterion("cv_medal.create_time =", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotEqualTo(Date value) {
            addCriterion("cv_medal.create_time <>", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThan(Date value) {
            addCriterion("cv_medal.create_time >", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("cv_medal.create_time >=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThan(Date value) {
            addCriterion("cv_medal.create_time <", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeLessThanOrEqualTo(Date value) {
            addCriterion("cv_medal.create_time <=", value, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(List<Date> values) {
            addCriterion("cv_medal.create_time in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(List<Date> values) {
            addCriterion("cv_medal.create_time not in", values, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeIn(String sql) {
            addCriterion("cv_medal.create_time in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotIn(String sql) {
            addCriterion("cv_medal.create_time not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCreateTimeBetween(Date value1, Date value2) {
            addCriterion("cv_medal.create_time between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andCreateTimeNotBetween(Date value1, Date value2) {
            addCriterion("cv_medal.create_time not between", value1, value2, "createTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNull() {
            addCriterion("cv_medal.update_time is null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIsNotNull() {
            addCriterion("cv_medal.update_time is not null");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeEqualTo(Date value) {
            addCriterion("cv_medal.update_time =", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotEqualTo(Date value) {
            addCriterion("cv_medal.update_time <>", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThan(Date value) {
            addCriterion("cv_medal.update_time >", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeGreaterThanOrEqualTo(Date value) {
            addCriterion("cv_medal.update_time >=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThan(Date value) {
            addCriterion("cv_medal.update_time <", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeLessThanOrEqualTo(Date value) {
            addCriterion("cv_medal.update_time <=", value, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(List<Date> values) {
            addCriterion("cv_medal.update_time in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(List<Date> values) {
            addCriterion("cv_medal.update_time not in", values, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeIn(String sql) {
            addCriterion("cv_medal.update_time in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotIn(String sql) {
            addCriterion("cv_medal.update_time not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeBetween(Date value1, Date value2) {
            addCriterion("cv_medal.update_time between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andUpdateTimeNotBetween(Date value1, Date value2) {
            addCriterion("cv_medal.update_time not between", value1, value2, "updateTime");
            return (Criteria) this;
        }

        public Criteria andCandidateidIsNull() {
            addCriterion("cv_medal.candidateid is null");
            return (Criteria) this;
        }

        public Criteria andCandidateidIsNotNull() {
            addCriterion("cv_medal.candidateid is not null");
            return (Criteria) this;
        }

        public Criteria andCandidateidEqualTo(Integer value) {
            addCriterion("cv_medal.candidateid =", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotEqualTo(Integer value) {
            addCriterion("cv_medal.candidateid <>", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidGreaterThan(Integer value) {
            addCriterion("cv_medal.candidateid >", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.candidateid >=", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidLessThan(Integer value) {
            addCriterion("cv_medal.candidateid <", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidLessThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.candidateid <=", value, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidIn(List<Integer> values) {
            addCriterion("cv_medal.candidateid in", values, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotIn(List<Integer> values) {
            addCriterion("cv_medal.candidateid not in", values, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidIn(String sql) {
            addCriterion("cv_medal.candidateid in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotIn(String sql) {
            addCriterion("cv_medal.candidateid not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andCandidateidBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.candidateid between", value1, value2, "candidateid");
            return (Criteria) this;
        }

        public Criteria andCandidateidNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.candidateid not between", value1, value2, "candidateid");
            return (Criteria) this;
        }

        public Criteria andProcessStageIsNull() {
            addCriterion("cv_medal.process_stage is null");
            return (Criteria) this;
        }

        public Criteria andProcessStageIsNotNull() {
            addCriterion("cv_medal.process_stage is not null");
            return (Criteria) this;
        }

        public Criteria andProcessStageEqualTo(Integer value) {
            addCriterion("cv_medal.process_stage =", value, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageNotEqualTo(Integer value) {
            addCriterion("cv_medal.process_stage <>", value, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageGreaterThan(Integer value) {
            addCriterion("cv_medal.process_stage >", value, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.process_stage >=", value, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageLessThan(Integer value) {
            addCriterion("cv_medal.process_stage <", value, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageLessThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.process_stage <=", value, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageIn(List<Integer> values) {
            addCriterion("cv_medal.process_stage in", values, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageNotIn(List<Integer> values) {
            addCriterion("cv_medal.process_stage not in", values, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageIn(String sql) {
            addCriterion("cv_medal.process_stage in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andProcessStageNotIn(String sql) {
            addCriterion("cv_medal.process_stage not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andProcessStageBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.process_stage between", value1, value2, "processStage");
            return (Criteria) this;
        }

        public Criteria andProcessStageNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.process_stage not between", value1, value2, "processStage");
            return (Criteria) this;
        }

        public Criteria andGetTimeIsNull() {
            addCriterion("cv_medal.get_time is null");
            return (Criteria) this;
        }

        public Criteria andGetTimeIsNotNull() {
            addCriterion("cv_medal.get_time is not null");
            return (Criteria) this;
        }

        public Criteria andGetTimeEqualTo(String value) {
            addCriterion("cv_medal.get_time =", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeNotEqualTo(String value) {
            addCriterion("cv_medal.get_time <>", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeGreaterThan(String value) {
            addCriterion("cv_medal.get_time >", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeGreaterThanOrEqualTo(String value) {
            addCriterion("cv_medal.get_time >=", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeLessThan(String value) {
            addCriterion("cv_medal.get_time <", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeLessThanOrEqualTo(String value) {
            addCriterion("cv_medal.get_time <=", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeLike(String value) {
            addCriterion("cv_medal.get_time like", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeNotLike(String value) {
            addCriterion("cv_medal.get_time not like", value, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeIn(List<String> values) {
            addCriterion("cv_medal.get_time in", values, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeNotIn(List<String> values) {
            addCriterion("cv_medal.get_time not in", values, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeIn(String sql) {
            addCriterion("cv_medal.get_time in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andGetTimeNotIn(String sql) {
            addCriterion("cv_medal.get_time not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andGetTimeBetween(String value1, String value2) {
            addCriterion("cv_medal.get_time between", value1, value2, "getTime");
            return (Criteria) this;
        }

        public Criteria andGetTimeNotBetween(String value1, String value2) {
            addCriterion("cv_medal.get_time not between", value1, value2, "getTime");
            return (Criteria) this;
        }

        public Criteria andMedalNameIsNull() {
            addCriterion("cv_medal.medal_name is null");
            return (Criteria) this;
        }

        public Criteria andMedalNameIsNotNull() {
            addCriterion("cv_medal.medal_name is not null");
            return (Criteria) this;
        }

        public Criteria andMedalNameEqualTo(String value) {
            addCriterion("cv_medal.medal_name =", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameNotEqualTo(String value) {
            addCriterion("cv_medal.medal_name <>", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameGreaterThan(String value) {
            addCriterion("cv_medal.medal_name >", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameGreaterThanOrEqualTo(String value) {
            addCriterion("cv_medal.medal_name >=", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameLessThan(String value) {
            addCriterion("cv_medal.medal_name <", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameLessThanOrEqualTo(String value) {
            addCriterion("cv_medal.medal_name <=", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameLike(String value) {
            addCriterion("cv_medal.medal_name like", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameNotLike(String value) {
            addCriterion("cv_medal.medal_name not like", value, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameIn(List<String> values) {
            addCriterion("cv_medal.medal_name in", values, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameNotIn(List<String> values) {
            addCriterion("cv_medal.medal_name not in", values, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameIn(String sql) {
            addCriterion("cv_medal.medal_name in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andMedalNameNotIn(String sql) {
            addCriterion("cv_medal.medal_name not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andMedalNameBetween(String value1, String value2) {
            addCriterion("cv_medal.medal_name between", value1, value2, "medalName");
            return (Criteria) this;
        }

        public Criteria andMedalNameNotBetween(String value1, String value2) {
            addCriterion("cv_medal.medal_name not between", value1, value2, "medalName");
            return (Criteria) this;
        }

        public Criteria andInfoIsNull() {
            addCriterion("cv_medal.info is null");
            return (Criteria) this;
        }

        public Criteria andInfoIsNotNull() {
            addCriterion("cv_medal.info is not null");
            return (Criteria) this;
        }

        public Criteria andInfoEqualTo(String value) {
            addCriterion("cv_medal.info =", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotEqualTo(String value) {
            addCriterion("cv_medal.info <>", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoGreaterThan(String value) {
            addCriterion("cv_medal.info >", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoGreaterThanOrEqualTo(String value) {
            addCriterion("cv_medal.info >=", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLessThan(String value) {
            addCriterion("cv_medal.info <", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLessThanOrEqualTo(String value) {
            addCriterion("cv_medal.info <=", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoLike(String value) {
            addCriterion("cv_medal.info like", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotLike(String value) {
            addCriterion("cv_medal.info not like", value, "info");
            return (Criteria) this;
        }

        public Criteria andInfoIn(List<String> values) {
            addCriterion("cv_medal.info in", values, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotIn(List<String> values) {
            addCriterion("cv_medal.info not in", values, "info");
            return (Criteria) this;
        }

        public Criteria andInfoIn(String sql) {
            addCriterion("cv_medal.info in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andInfoNotIn(String sql) {
            addCriterion("cv_medal.info not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andInfoBetween(String value1, String value2) {
            addCriterion("cv_medal.info between", value1, value2, "info");
            return (Criteria) this;
        }

        public Criteria andInfoNotBetween(String value1, String value2) {
            addCriterion("cv_medal.info not between", value1, value2, "info");
            return (Criteria) this;
        }

        public Criteria andScoreIsNull() {
            addCriterion("cv_medal.score is null");
            return (Criteria) this;
        }

        public Criteria andScoreIsNotNull() {
            addCriterion("cv_medal.score is not null");
            return (Criteria) this;
        }

        public Criteria andScoreEqualTo(Float value) {
            addCriterion("cv_medal.score =", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotEqualTo(Float value) {
            addCriterion("cv_medal.score <>", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThan(Float value) {
            addCriterion("cv_medal.score >", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreGreaterThanOrEqualTo(Float value) {
            addCriterion("cv_medal.score >=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThan(Float value) {
            addCriterion("cv_medal.score <", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreLessThanOrEqualTo(Float value) {
            addCriterion("cv_medal.score <=", value, "score");
            return (Criteria) this;
        }

        public Criteria andScoreIn(List<Float> values) {
            addCriterion("cv_medal.score in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotIn(List<Float> values) {
            addCriterion("cv_medal.score not in", values, "score");
            return (Criteria) this;
        }

        public Criteria andScoreIn(String sql) {
            addCriterion("cv_medal.score in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andScoreNotIn(String sql) {
            addCriterion("cv_medal.score not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andScoreBetween(Float value1, Float value2) {
            addCriterion("cv_medal.score between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andScoreNotBetween(Float value1, Float value2) {
            addCriterion("cv_medal.score not between", value1, value2, "score");
            return (Criteria) this;
        }

        public Criteria andMedalInfoIsNull() {
            addCriterion("cv_medal.medal_info is null");
            return (Criteria) this;
        }

        public Criteria andMedalInfoIsNotNull() {
            addCriterion("cv_medal.medal_info is not null");
            return (Criteria) this;
        }

        public Criteria andMedalInfoEqualTo(String value) {
            addCriterion("cv_medal.medal_info =", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoNotEqualTo(String value) {
            addCriterion("cv_medal.medal_info <>", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoGreaterThan(String value) {
            addCriterion("cv_medal.medal_info >", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoGreaterThanOrEqualTo(String value) {
            addCriterion("cv_medal.medal_info >=", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoLessThan(String value) {
            addCriterion("cv_medal.medal_info <", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoLessThanOrEqualTo(String value) {
            addCriterion("cv_medal.medal_info <=", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoLike(String value) {
            addCriterion("cv_medal.medal_info like", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoNotLike(String value) {
            addCriterion("cv_medal.medal_info not like", value, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoIn(List<String> values) {
            addCriterion("cv_medal.medal_info in", values, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoNotIn(List<String> values) {
            addCriterion("cv_medal.medal_info not in", values, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoIn(String sql) {
            addCriterion("cv_medal.medal_info in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andMedalInfoNotIn(String sql) {
            addCriterion("cv_medal.medal_info not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andMedalInfoBetween(String value1, String value2) {
            addCriterion("cv_medal.medal_info between", value1, value2, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andMedalInfoNotBetween(String value1, String value2) {
            addCriterion("cv_medal.medal_info not between", value1, value2, "medalInfo");
            return (Criteria) this;
        }

        public Criteria andFlagIsNull() {
            addCriterion("cv_medal.flag is null");
            return (Criteria) this;
        }

        public Criteria andFlagIsNotNull() {
            addCriterion("cv_medal.flag is not null");
            return (Criteria) this;
        }

        public Criteria andFlagEqualTo(Integer value) {
            addCriterion("cv_medal.flag =", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotEqualTo(Integer value) {
            addCriterion("cv_medal.flag <>", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThan(Integer value) {
            addCriterion("cv_medal.flag >", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagGreaterThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.flag >=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThan(Integer value) {
            addCriterion("cv_medal.flag <", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagLessThanOrEqualTo(Integer value) {
            addCriterion("cv_medal.flag <=", value, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(List<Integer> values) {
            addCriterion("cv_medal.flag in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(List<Integer> values) {
            addCriterion("cv_medal.flag not in", values, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagIn(String sql) {
            addCriterion("cv_medal.flag in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andFlagNotIn(String sql) {
            addCriterion("cv_medal.flag not in("+sql+")");
            return (Criteria) this;
        }

        public Criteria andFlagBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.flag between", value1, value2, "flag");
            return (Criteria) this;
        }

        public Criteria andFlagNotBetween(Integer value1, Integer value2) {
            addCriterion("cv_medal.flag not between", value1, value2, "flag");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}